/*
* Copyright (c) 2020 The canvas Authors. All rights reserved.
  Use of this source code is governed by a BSD-style license that can be
  found in the LICENSE file.

* Author:         dzlua - https://gitee.com/dzlua/canvas.git
* Email:          505544956@qq.com
* FileName:       dynamic.h
* Create Time:    2020/01/01 14:08:12
* Description:    /
*/

#ifndef __CANVAS_DYNAMIC_LIBRARY_H__
#define __CANVAS_DYNAMIC_LIBRARY_H__

#include <canvas.h>

namespace cvs {
  class CVS_API IDynamicLibrary {
    public:
      static IDynamicLibrary* new_instance();
      virtual void release() = 0;
    public:
      virtual bool open(const char *pname) = 0;
      virtual void* proc(const char *fname) = 0;
      virtual void close() = 0;
      virtual bool opened() const = 0;
  };
} // end namespace cvs

#endif // __CANVAS_DYNAMIC_LIBRARY_H__
